package com.framework.app.entity.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 会员表
 * </p>
 *
 * @author Kevin
 * @since 2022-05-03
 */
@Data
public class AppMemberEditDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空")
    private Long id;

    /**
     * 账号
     */
    @NotBlank(message = "账号不能为空")
    @Size(max = 100, message = "账号长度不能超过100个字符")
    private String account;

    /**
     * 密码
     */
    @NotBlank(message = "密码不能为空")
    @Size(max = 100, message = "密码长度不能超过100个字符")
    private String password;

    /**
     * 修改密码标记 0未修改；1已修改
     */
    @NotBlank(message = "修改密码标记 0未修改；1已修改不能为空")
    @Size(max = 100, message = "修改密码标记 0未修改；1已修改长度不能超过100个字符")
    private String pswModified;

    /**
     * 昵称
     */
    @NotBlank(message = "昵称不能为空")
    @Size(max = 100, message = "昵称长度不能超过100个字符")
    private String nickname;

    /**
     * 姓名
     */
    @NotBlank(message = "姓名不能为空")
    @Size(max = 100, message = "姓名长度不能超过100个字符")
    private String realname;

    /**
     * 英文名
     */
    @NotBlank(message = "英文名不能为空")
    @Size(max = 100, message = "英文名长度不能超过100个字符")
    private String englishName;

    /**
     * 头像
     */
    @NotBlank(message = "头像不能为空")
    @Size(max = 100, message = "头像长度不能超过100个字符")
    private String avatar;

    /**
     * 邮箱
     */
    @NotBlank(message = "邮箱不能为空")
    @Size(max = 100, message = "邮箱长度不能超过100个字符")
    private String email;

    /**
     * 手机号
     */
    @NotBlank(message = "手机号不能为空")
    @Size(max = 100, message = "手机号长度不能超过100个字符")
    private String phone;

    /**
     * 生日
     */
    @NotNull(message = "生日不能为空")
    private Date birthday;

    /**
     * 性别 1男；2女；3未知
     */
    @NotBlank(message = "性别 1男；2女；3未知不能为空")
    @Size(max = 100, message = "性别 1男；2女；3未知长度不能超过100个字符")
    private String sex;

    /**
     * 锁定标记 0正常；1锁定
     */
    @NotBlank(message = "锁定标记 0正常；1锁定不能为空")
    @Size(max = 100, message = "锁定标记 0正常；1锁定长度不能超过100个字符")
    private String lockFlag;

    /**
     * 排序
     */
    @NotNull(message = "排序不能为空")
    private Integer sort;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空")
    @Size(max = 100, message = "备注长度不能超过100个字符")
    private String remarks;

    /**
     * 状态 0正常；1停用
     */
    @NotBlank(message = "状态 0正常；1停用不能为空")
    @Size(max = 100, message = "状态 0正常；1停用长度不能超过100个字符")
    private String status;

    /**
     * 删除标记 0存在；1删除
     */
    @NotBlank(message = "删除标记 0存在；1删除不能为空")
    @Size(max = 100, message = "删除标记 0存在；1删除长度不能超过100个字符")
    private String delFlag;

    /**
     * 创建人
     */
    @NotBlank(message = "创建人不能为空")
    @Size(max = 100, message = "创建人长度不能超过100个字符")
    private String createBy;

    /**
     * 创建时间
     */
    @NotNull(message = "创建时间不能为空")
    private Date createTime;

    /**
     * 更新人
     */
    @NotBlank(message = "更新人不能为空")
    @Size(max = 100, message = "更新人长度不能超过100个字符")
    private String updateBy;

    /**
     * 更新时间
     */
    @NotNull(message = "更新时间不能为空")
    private Date updateTime;


}